package cn.capdi.backend.generator.api;

import lombok.Data;

/**
 * @author eomer
 * @title DbConfig
 * @date 2023/08/18 10:00
 * @description 数据库配置类
 */
@Data
public class DbConfig {

    /**
     * 数据库连接
     **/
    private String url;
    /**
     * 用户名
     **/
    private String username;
    /**
     * 密码
     **/
    private String password;


    public final static String TYPE_ORACLE = "oracle";
    public final static String TYPE_MYSQL = "mysql";

    /**
     * @作者 eomer
     * @描述 获取数据库配置
     * @日期 2023/08/18 10:09
     * 参数 dbType
     * @返回值 cn.capdi.backend.generator.api.DbConfig
     **/
    public static DbConfig getDB(String dbType) {
        DbConfig dbConfig = new DbConfig();
        if (TYPE_ORACLE.equals(dbType)) {
            setOracle(dbConfig);
        } else {
            setMysql(dbConfig);
        }
        return dbConfig;
    }

    /**
     * @作者 eomer
     * @描述 切换Oracle配置
     * @日期 2023/08/18 10:07
     * 参数 dbConfig
     * @返回值 void
     **/
    private static void setOracle(DbConfig dbConfig) {
        dbConfig.url = "jdbc:oracle:thin:@192.168.2.230:1521:ORCL";
        dbConfig.username = "CAPDI_TEST_205";
        dbConfig.password = "zp205123456";
    }

    /**
     * @作者 eomer
     * @描述 切换Mysql配置
     * @日期 2023/08/18 10:07
     * 参数 dbConfig
     * @返回值 void
     **/
    private static void setMysql(DbConfig dbConfig) {
        dbConfig.url = "jdbc:mariadb://39.103.156.67:3306/capdi_205?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true";
        dbConfig.username = "hbtg";
        dbConfig.password = "hbtg123456";
    }

}

